package dht.interfaceThread;

import dht.data.DhtData;
import dht.data.TabBigInteger;
import dht.message.PutMessage;
import dht.tools.Duo;

/**
 * InterPut represente le code de la thread responsable de la reception des requetes PUT.
 * @author bouceka & Véron
 *
 */
public interface InterPut {
	
	/**
	 * Fonction de réception d'une requête PUT
	 */
	public void receiveRequestPut();
	
	/**
	 * Fonction d'envoi d'une requête PUT
	 * @param p Le message PUT à envoyer
	 * @return vrai si la requête à bien été envoyée
	 */
	public boolean sendRequestPut(PutMessage p);
	
	/**
	 * Fonction appellée par le noeud pour donner un job au ManagePUT
	 * @param job le job à donner au ManagePUT
	 */
	public void putJob(Duo<TabBigInteger, DhtData<Integer>> job);
}
